Hinweise
Folgende Hinweise sollen ihnen helfen, RPGUnit richtig anzuwenden und möglicherweise
unerwartetes Verhalten richtig zu interpretieren.
Prinzipielle Arbeitsweise
Grundsätzlich bemüht sich RPGUnit die Arbeitsweise von JUnit exakt nachzubilden.
Problematisch ist hierbei jedoch das überwachen von Programmanweisungen
auf Fehler. Hierzu stehen im RPG zwei Möglichkeiten zur Verfügung.
Monitor Block
Der Aufruf einer RPGUnit Prüffunktion innerhalb eines Monitor-Blocks führt zu einem
protokollierten Fehler. Dies entspricht exakt dem Verhalten von JUnit. Auch dort werden
Fehler innerhalb eines try/catch
Blocks erkannt und protokolliert.
Unproblematisch
monitor;
// calculation statements
aEqual( 'HelloWorld' : 'Hello' ); // correctly reported
on-error;
// error handler
endmon;
CALLP - Error Extender
Beim Aufruf der RPGUnit Prüffunktionen werden auftretende Fehler ignoriert, wenn der
Aufruf über CALLP(E)
erfolgt. Verzichten Sie daher beim auf den Error
Extender (E)
beim Aufruf der Prüffuktionen über CALLP
.
Richtig
aEqual( 'HelloWorld' : 'Hello' );
callp aEqual( 'HelloWorld' : 'Hello' );
Falsch
callp(e) aEqual( 'HelloWorld' : 'Hello' ); // not reported by RPGUnit!